package com.ruoyi.chat.service;

import com.ruoyi.chat.domain.Chat;

import java.util.List;

/**
 * 聊天助手Service接口
 * 
 * @author ruoyi
 * @date 2025-03-26
 */
public interface IChaterService
{
    /**
     * 查询聊天助手
     * 
     * @param id 聊天助手主键
     * @return 聊天助手
     */
    public Chat selectChatById(Long id);

    /**
     * 查询聊天助手列表
     * 
     * @param chat 聊天助手
     * @return 聊天助手集合
     */
    public List<Chat> selectChatList(Chat chat);

    /**
     * 新增聊天助手
     * 
     * @param chat 聊天助手
     * @return 结果
     */
    public int insertChat(Chat chat);

    /**
     * 新增聊天助手 - 并调用ragFlow
     *
     * @param chat 聊天助手
     * @param url ragFlow接口url
     * @return 结果
     */
    public int add(Chat chat, String url);

    /**
     * 修改聊天助手
     * 
     * @param chat 聊天助手
     * @return 结果
     */
    public int updateChat(Chat chat);

    /**
     * 修改聊天助手 - 并调用ragFlow
     *
     * @param chat 聊天助手
     * @param url ragFlow接口url
     * @return 结果
     */
    public int update(Chat chat, String url);

    /**
     * 批量删除聊天助手
     * 
     * @param ids 需要删除的聊天助手主键集合
     * @return 结果
     */
    public int deleteChatByIds(Long[] ids);

    /**
     * 批量删除聊天助手 - 并调用ragFlow
     *
     * @param ids 聊天助手id集合
     * @return 结果
     */
    public int delete(Long[] ids, String url);

    /**
     * 删除聊天助手信息
     * 
     * @param id 聊天助手主键
     * @return 结果
     */
    public int deleteChatById(Long id);
}
